// 用户信息
export interface User {
  id: number;
  username: string;
  nickname: string;
  email: string;
  avatar?: string;
  role: 'ADMIN' | 'USER';
  createTime: string;
  lastLoginTime?: string;
  status: 'ACTIVE' | 'LOCKED' | 'INACTIVE';
}

// 登录请求
export interface LoginRequest {
  username: string;
  password: string;
  remember?: boolean;
}

// 登录响应
export interface LoginResponse {
  token: string;
  user: User;
}

// 注册请求
export interface RegisterRequest {
  username: string;
  password: string;
  confirmPassword: string;
  email: string;
  nickname?: string;
}

// 更新用户信息请求
export interface UpdateUserRequest {
  nickname?: string;
  email?: string;
  avatar?: string;
  oldPassword?: string;
  newPassword?: string;
  confirmPassword?: string;
}

// 用户查询请求
export interface UserQuery {
  page: number;
  pageSize: number;
  searchTerm?: string;
  role?: 'ADMIN' | 'USER';
  status?: 'ACTIVE' | 'LOCKED' | 'INACTIVE';
  sortBy?: 'createTime' | 'lastLoginTime' | 'username';
  sortOrder?: 'asc' | 'desc';
}

// 用户查询响应
export interface UserResponse {
  data: User[];
  total: number;
  page: number;
  pageSize: number;
} 